//bool, ObjList objs, str OUT reasonText

Hero this;

if (objs.count != 1) return false;

this = objs[0].AsHero();
if(!.IsValid()) return false;

if(!.EnemiesInSight()){
	reasonText = rollover(this, "No enemy in sight");
	return false;
}
if(!.HasArmy){
	reasonText = rollover(this, "Not attached army");
	return false;
}
return true;
